package com.myway.components.sms.sms;

import java.util.ArrayList;
import java.util.List;

//import com.jasson.mas.api.ApiClientFactory;
//import com.jasson.mas.api.common.ConnectStatus;
//import com.jasson.mas.api.sms.SmsApiClient;
//import com.jasson.mas.api.sms.SmsApiClientHandler;
//import com.jasson.mas.api.sms.data.ApiSmsSendRequest;
//import com.jasson.mas.api.sms.data.ApiSmsSendResponse;
//import com.jasson.mas.api.smsapi.MsgFmt;
//import com.jasson.mas.api.smsapi.SmsCount;
//import com.jasson.mas.api.smsapi.SmsSendRequest;
//import com.jasson.mas.api.smsapi.SmsType;


@SuppressWarnings({ "deprecation", "static-access", "unused" })
public class SmsSend {

	public static void main(String[] args) {





		/*SmsApiClient smsApiClient = null;
		long mobile = 13679047631L;
		String appID = "api"; // API插件标识ID
		String appPwd = "123456"; // API插件密码
		String content = "2222"; // 短信内容
		String xCode = "4"; // 短信扩展码
		int masApiPort = 61616;
		String masIP = "192.168.11.190";
		// SmsApiClientHandlerImpl是由自己实现的
//		SmsApiClientHandler smsHandler = new SmsApiClientHandlerImpl();




		*//******工厂类,创建与mas服务器之间连接的*********//*
		ApiClientFactory acf = new ApiClientFactory();
		*//**创建一个连接***//*
		smsApiClient = acf.createSmsApiClient(smsHandler, masIP, masApiPort, appID, appPwd);










		try {
			//smsApiClient = new SmsApiClientImpl(smsHandler, masIP, masApiPort,appID, appPwd);
			// 中国移动代理服务器 MAS V2.0 JAVA API 接口开发手册
			// 12
			// 深圳市嘉讯软件有限公司
			// 12
			// 设置是否自动重连到服务器(可以不需要设置)
			smsApiClient.setAutoConnect(true);
			// 设置自动重连服务器相隔时间(单位：秒), 默认为30秒(可以不需要设置)
			smsApiClient.setReConnectInterval(60);
			// 设置与服务连接超时时长，单位： millisecond(可以不需要设置)
			smsApiClient.setConnectTimeout(10);
			// 设置发送超时时长，单位： millisecond(可以不需要设置)
			smsApiClient.setSendTimeout(10);
			// 获得短信群发提交的数量限制
			// 获取网关连接状态(Connect：连接正常, Disconnect： 断连, NotConnect： 没有连接, Other：
			// 其他)
			smsApiClient.start();
			int ret = smsApiClient.getDestAddrsLimit();
			System.out.println("一次提交短信数量限制:"+ret);
			ConnectStatus connectStatus = smsApiClient.getConnStatusIAGW();
			if (!ConnectStatus.Connect.equals(connectStatus)) {
				System.out.println("网关未连接");
				return;
			}
			// 计算短信条数和字数
			SmsCount smsCount = smsApiClient.getSmsCount(content,
					MsgFmt.GB2312, SmsType.Normal);
			// 获得扩展服务代码(插件短信扩展号码+流水号)长度
			int xcodeLength = smsApiClient.getXCodeLength();
			// 发送短信
			// ＝＝＝＝＝＝构造发送短信对象开始，下面代码演示发送短信对象几个比较主要的属性值，
			// 其它的属性可以不设置，如果要设置可以参考sendSms方法中 SmsSendRequest参数＝＝＝
			SmsSendRequest smsSendRequest = new SmsSendRequest();
			List<String> list = new ArrayList<String>();
			// 每次群发数量不能超过最大限制数
			for (int i = 0; i < 1; i++) {
				long address = mobile + i;
				list.add(String.valueOf(address));
				// 中国移动代理服务器 MAS V2.0 JAVA API 接口开发手册
				// 深圳市嘉讯软件有限公司
			}

			smsSendRequest.destAddrs = list;
			smsSendRequest.validTime = 10000; // 短信存活期，单位秒
			smsSendRequest.xCode = xCode; // 短信扩展码
			smsSendRequest.message = content; // 短信内容
			smsSendRequest.msgFormat = MsgFmt.GB2312; // 短信编码类型
			smsSendRequest.isNeedReport = true; // 短信是否需要状态报告
			smsSendRequest.priority = 1; // 短信网关优先级, 短信优先级大于0 的整数
											// 0为最高优先级，数字越大级别越低
			// Normal: 普通短信,Instant：免提短信, Long：长短信,Structured：二进制短信,WapPush：
			// WapPush 短信
			smsSendRequest.type = SmsType.Normal;
			smsSendRequest.appID = appID;

			// 自身的业务
			ApiSmsSendRequest apiSmsSendRequest = new ApiSmsSendRequest();


			apiSmsSendRequest.setDestAddrs(list);
			apiSmsSendRequest.setValidTime(10);
			apiSmsSendRequest.setXCode(xCode);
			apiSmsSendRequest.setMessage(content);
			apiSmsSendRequest.setMsgFormat(MsgFmt.GB2312);
			apiSmsSendRequest.isNeedReport();
			apiSmsSendRequest.setPriority(1);
			apiSmsSendRequest.setAppID(appID);
			apiSmsSendRequest.setType(SmsType.Normal);

			// ＝＝＝＝＝＝构造发送短信对象结束＝＝＝＝＝＝＝
			ApiSmsSendResponse sendSms = smsApiClient
					.sendSms(apiSmsSendRequest);



			System.out.println("提交成功， requestID:" + sendSms.getRequestID());
		} catch (Exception e) {
			System.out.println("API短信客户端调用失败:" + e.getMessage());
			return;
		}*/
	}
}
